The present invention is directed, in general, to a computer system and, more specifically, to a system and method for identifying shared virtual memory (such as volumes of disk storage) in a cluster of cooperating computer systems.
Computer xe2x80x9cclustersxe2x80x9d comprising two or more processing devices and one or more associated storage devices are a very common and useful system configuration. Clusters provide highspeed communication between, and share resources among, the processing systems, storage devices and/or peripheral devices. The ability of clustered computer systems to share resources, in particular to share memory storage devices, is one of the key advantages of computer clusters.
Frequently, the fixed disk drives in a computer cluster are divided into volumes. The disk volumes may be shared by more than one device in the cluster, or may be non-shared. This distinction is not readily apparent to a user, since drives are usually addressed by a logical drive letter. The user thus has no way of determining whether or not a logical drive letter is assigned to the same volume on all systems in the cluster. This is a disadvantage in those applications where it is important to know whether or not a resource is shared by one or more devices. For example, if individual copies of a database application are resident in two servers and the database for the application is stored in a shared memory volume, either server can access the database even if the other server is malfunctioning or off-line for routine maintenance. However, if the database was stored in non-shared memory associated with a first one of the servers, the remaining server can access the database only by communicating with the first server.
Accordingly, what is needed in the art is a system and method that allows a user to determine which of the disk volumes in a complex cluster are shared between machines in the cluster.
To address the above-discussed deficiencies of the prior art, the present invention provides, for use with a computer cluster having virtual memory logical devices associated therewith, a system and method for determining which of the virtual memory logical devices are shared devices and a computer cluster employing such system or method. The system includes: (1) a polling circuit that retrieves volume information from at least some of the virtual memory logical devices and (2) a matching circuit that determines which ones of the at least some of the virtual memory logical devices are shared devices as a function of the volume information.
As previously described, it is difficult to determine, in a complex computer cluster, which virtual memory logical devices are shared. This is so because conventional operating systems, such as Windows(copyright) NT(copyright), do not provide a direct way to determine whether a device is shared. The present invention introduces the concept of employing the volume information that is conventionally associated with the virtual memory logical devices to determine (by deduction) which ones of the virtual memory logical devices are shared devices. Because it is highly unlikely (supporting mathematics to follow) that two devices would ever have the same volume information, the likelihood that the present invention is correct in its determination is correct, for all practical purposes.
In one embodiment of the present invention, the polling circuit retrieves the volume information as a function of drive letters that are common to computer systems in the computer cluster. In the embodiment to be illustrated and described, the polling circuit retrieves drive letters (e.g., xe2x80x9cC:xe2x80x9d in DOS-based computer systems) corresponding to devices of each computer system. In one embodiment of the present invention, the polling circuit retrieves the volume information from virtual memory logical devices that are available to the at least some of the virtual memory logical devices. In the embodiment to be illustrated and described, only available virtual fixed disk drive devices are polled for volume information.
In one embodiment of the present invention, the volume information is selected from the group consisting of: (1) volume name, (2) serial number, (3) maximum file length, (4) file system flags and (5) file system name. Those skilled in the art will readily perceive, however, that other information pertaining to a given virtual memory logical device can be retrieved for the purposes of determining whether the given device is shared.
In one embodiment of the present invention, the at least some of the virtual memory logical devices are fixed disk drives and the computer cluster is under control of a flat operating system. A xe2x80x9cflat operating systemxe2x80x9d is one that does not divide memory into segments. Almost all modern operating systems are flat, using paging techniques to manage memory. This allows the operating systems to employ virtual memory management wherein volatile and nonvolatile main memory and nonvolatile secondary storage (such as disk drives) are addressed in a unified scheme.
In one embodiment of the present invention, the computer cluster is under control of a Windows(copyright) NT(copyright) operating system, the polling circuit employing Windows(copyright) NT(copyright) operating system commands selected from the group consisting of: (1) GetLogicalDrives( ), (2) GetDriveType( ) and (3) GetVolumelnformation( ). Those skilled in the art are familiar with these commands as they are typically employed, but will understand that use of these commands to deduce whether a device is shared has been heretofore unknown.
In one embodiment of the present invention, the operating system employs the plurality of logical fixed disk drives as virtual memory. Once it is known which of the logical fixed disk drives are shared, the operating system can more efficiently employ the resources of the computer cluster to execute a task on specific computer systems within the cluster.
The foregoing has outlined, rather broadly, preferred and alternative features of the present invention so that those skilled in the art may better understand the detailed description of the invention that follows. Additional features of the invention will be described hereinafter that form the subject of the claims of the invention. Those skilled in the art should appreciate that they can readily use the disclosed conception and specific embodiment as a basis for designing or modifying other structures for carrying out the same purposes of the present invention. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the invention in its broadest form.